4.9.2. CompFilterType

This type defines a search query for the calendar query operation. It specifies the component types to return, absence tests or basic matching operations on properties and time ranges.

The top level comp-filter element (which must match a vCalendar component may contain zero or more comp-filter elements to match events, tasks or other contained components. These in turn may contain further nested comp-filter elements to match further levels of nested components.

Each may also contain prop-filter elements to test for the absence of properties or to match values. Only logical conjunctions are supported, that is, all elements of a comp-filter must match for the expression to match.

Table 45 — CompFilterType elements

Field

Type

#

?

Description

anyComp

AnyCompType

0..1

C

One of anyComp, vCalendar or a BaseComponentType must be supplied.

anyComp indicates that any component will match.

xcal:vcalendar

xcal:VcalendarType

0..1

C

Matches vCalendar at the top level. Must be provided

xcal:baseComponent

xcal:BaseComponentType

0..1

C

May be vEvent or vTODO for example.

#test

string

0..1

N

“anyof” is a logical OR of the child elements.

“allof” is a logical AND of the child elements.

is-not-defined

empty

0..1

N

Only this element or one or more of time-range, prop-filter or comp-filter may be present

time-range

UTCTimeRangeType

0..1

N

comp-filter

CompFilterType

1

Y

Match against contained components

prop-filter

PropFilterType

0..n

N

Match against component properties